Wireless streaming environments present many challenges for the system designer. For instance, clients can have different display, power, communication, and computational capabilities. In addition, wireless communication links can have different maximum bandwidths, quality levels, and time-varying characteristics. A successful wireless video streaming system must be able to stream video to heterogeneous clients over time-varying wireless communication links, and this streaming must be performed in a scalable manner. Scalability is needed to enable streaming to a multitude of clients with different device capabilities.
Streaming media delivery systems typically code media streams once and then stream it to receivers under different network conditions. Currently, typical media delivery systems transmit data in order of resolution, from lowest to highest, scanning from top to bottom. The order of packet transmission is referred to as a schedule.
Often, packets are transmitted over noisy, time-varying channels. In these situations, it is desirable to be able to quickly adapt the media for the different network conditions, and to do so in a manner that provides the highest quality media possible for each rate.
The drawings referred to in this description should not be understood as being drawn to scale except if specifically noted.